#ifndef _TASK_
#define _TASK_

#include <functional>

typedef std::function<int (int, int, char)> func_;

// 任务类型 - 仿函数
class Task
{
public:
    Task() = default;
    Task(int x, int y, char type, func_ func):_x(x), _y(y), _type(type), _func(func)
    {}
    int operator()()  // 重载() - 仿函数
    {
        return _func(_x, _y, _type);
    }

    int _x;
    int _y;
    char _type;
    func_ _func;
};

#endif